package com.liqing.movecomment.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDateTime;


public class Root implements Serializable {
    @ApiModelProperty("评论的id")
    private Integer id;
    /**
     */
    @ApiModelProperty("其他id")
    private Integer otherId;
    private String root;
    private String parent;
    private Integer replyId;
    private UserReply member;
    private Content content;
    //是否点赞
    private Boolean isLike;
    //点赞数量
    private Long likeCount;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    //<editor-fold defaultstate="collapsed" desc="delombok">
    @SuppressWarnings("all")
    public Root() {
    }

    @SuppressWarnings("all")
    public Integer getId() {
        return this.id;
    }

    /**
     */
    @SuppressWarnings("all")
    public Integer getOtherId() {
        return this.otherId;
    }

    @SuppressWarnings("all")
    public String getRoot() {
        return this.root;
    }

    @SuppressWarnings("all")
    public String getParent() {
        return this.parent;
    }

    @SuppressWarnings("all")
    public Integer getReplyId() {
        return this.replyId;
    }

    @SuppressWarnings("all")
    public UserReply getMember() {
        return this.member;
    }

    @SuppressWarnings("all")
    public Content getContent() {
        return this.content;
    }

    @SuppressWarnings("all")
    public Boolean getIsLike() {
        return this.isLike;
    }

    @SuppressWarnings("all")
    public Long getLikeCount() {
        return this.likeCount;
    }

    @SuppressWarnings("all")
    public LocalDateTime getCreateTime() {
        return this.createTime;
    }

    @SuppressWarnings("all")
    public void setId(final Integer id) {
        this.id = id;
    }

    /**
     */
    @SuppressWarnings("all")
    public void setOtherId(final Integer otherId) {
        this.otherId = otherId;
    }

    @SuppressWarnings("all")
    public void setRoot(final String root) {
        this.root = root;
    }

    @SuppressWarnings("all")
    public void setParent(final String parent) {
        this.parent = parent;
    }

    @SuppressWarnings("all")
    public void setReplyId(final Integer replyId) {
        this.replyId = replyId;
    }

    @SuppressWarnings("all")
    public void setMember(final UserReply member) {
        this.member = member;
    }

    @SuppressWarnings("all")
    public void setContent(final Content content) {
        this.content = content;
    }

    @SuppressWarnings("all")
    public void setIsLike(final Boolean isLike) {
        this.isLike = isLike;
    }

    @SuppressWarnings("all")
    public void setLikeCount(final Long likeCount) {
        this.likeCount = likeCount;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @SuppressWarnings("all")
    public void setCreateTime(final LocalDateTime createTime) {
        this.createTime = createTime;
    }

    @Override
    @SuppressWarnings("all")
    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof Root)) return false;
        final Root other = (Root) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) return false;
        final Object this$otherId = this.getOtherId();
        final Object other$otherId = other.getOtherId();
        if (this$otherId == null ? other$otherId != null : !this$otherId.equals(other$otherId)) return false;
        final Object this$replyId = this.getReplyId();
        final Object other$replyId = other.getReplyId();
        if (this$replyId == null ? other$replyId != null : !this$replyId.equals(other$replyId)) return false;
        final Object this$isLike = this.getIsLike();
        final Object other$isLike = other.getIsLike();
        if (this$isLike == null ? other$isLike != null : !this$isLike.equals(other$isLike)) return false;
        final Object this$likeCount = this.getLikeCount();
        final Object other$likeCount = other.getLikeCount();
        if (this$likeCount == null ? other$likeCount != null : !this$likeCount.equals(other$likeCount)) return false;
        final Object this$root = this.getRoot();
        final Object other$root = other.getRoot();
        if (this$root == null ? other$root != null : !this$root.equals(other$root)) return false;
        final Object this$parent = this.getParent();
        final Object other$parent = other.getParent();
        if (this$parent == null ? other$parent != null : !this$parent.equals(other$parent)) return false;
        final Object this$member = this.getMember();
        final Object other$member = other.getMember();
        if (this$member == null ? other$member != null : !this$member.equals(other$member)) return false;
        final Object this$content = this.getContent();
        final Object other$content = other.getContent();
        if (this$content == null ? other$content != null : !this$content.equals(other$content)) return false;
        final Object this$createTime = this.getCreateTime();
        final Object other$createTime = other.getCreateTime();
        if (this$createTime == null ? other$createTime != null : !this$createTime.equals(other$createTime)) return false;
        return true;
    }

    @SuppressWarnings("all")
    protected boolean canEqual(final Object other) {
        return other instanceof Root;
    }

    @Override
    @SuppressWarnings("all")
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * PRIME + ($id == null ? 43 : $id.hashCode());
        final Object $otherId = this.getOtherId();
        result = result * PRIME + ($otherId == null ? 43 : $otherId.hashCode());
        final Object $replyId = this.getReplyId();
        result = result * PRIME + ($replyId == null ? 43 : $replyId.hashCode());
        final Object $isLike = this.getIsLike();
        result = result * PRIME + ($isLike == null ? 43 : $isLike.hashCode());
        final Object $likeCount = this.getLikeCount();
        result = result * PRIME + ($likeCount == null ? 43 : $likeCount.hashCode());
        final Object $root = this.getRoot();
        result = result * PRIME + ($root == null ? 43 : $root.hashCode());
        final Object $parent = this.getParent();
        result = result * PRIME + ($parent == null ? 43 : $parent.hashCode());
        final Object $member = this.getMember();
        result = result * PRIME + ($member == null ? 43 : $member.hashCode());
        final Object $content = this.getContent();
        result = result * PRIME + ($content == null ? 43 : $content.hashCode());
        final Object $createTime = this.getCreateTime();
        result = result * PRIME + ($createTime == null ? 43 : $createTime.hashCode());
        return result;
    }

    @Override
    @SuppressWarnings("all")
    public String toString() {
        return "Root(id=" + this.getId() + ", otherId=" + this.getOtherId() + ", root=" + this.getRoot() + ", parent=" + this.getParent() + ", replyId=" + this.getReplyId() + ", member=" + this.getMember() + ", content=" + this.getContent() + ", isLike=" + this.getIsLike() + ", likeCount=" + this.getLikeCount() + ", createTime=" + this.getCreateTime() + ")";
    }
    //</editor-fold>
}
